[pull] main from react:main - #627
Merged
Merged
Conversation
Previously, every instance of ErrorBoundary, which wraps every custom panel in extension, was subscribing to errors from the Store. This would report the same error for every mounted panel. ErrorBoundary now only intercepts render-time errors, and Store errors are captured and reported in an external subscription at the place where Store is created.
…#37185) | Before | After | |--------|--------| | <img width="752" height="835" alt="before" src="https://github.com/user-attachments/assets/225d131c-a09c-44dd-ae79-0d76a8874d70" /> | <img width="751" height="832" alt="after" src="https://github.com/user-attachments/assets/8547a921-adc4-4abb-a40f-5ae74c1287b2" /> |
…acks (#37186) Cleaning up the Timeline profiler in the next commit on top of this one. If user is debugging React 19.2+, we will show a suggestion to record a trace on Performance panel. Otherwise, we will suggest to upgrade to React 19.2 to unlock Performance tracks. <img width="751" height="832" alt="Screenshot 2026-08-03 at 14 57 43" src="https://github.com/user-attachments/assets/153e712b-8f7c-4ec5-87f8-b01cf1180aae" />
## Summary With the tab gone, everything that fed it is unreachable. This deletes `packages/react-devtools-timeline` (74 files) and the backend that produced its data, `backend/profilingHooks.js`, along with `SidebarEventInfo`, the two timeline test suites, the `timelineData` snapshot serializer, and the scheduling-profiler fixture. It also unwires the plumbing that only existed to carry timeline data: `recordTimeline` across the reload-and-profile path (hook → sessionStorage → agent → renderer), `timelineData` on `ProfilingDataBackend` and the profile export, the `supportsTimeline` Store config, the `rootSupportsTimelineProfiling` capability, the `DevToolsProfilingHooks` type and the `ReactRenderer` members DevTools used to inject it, the 40 `--color-timeline-*` theme variables in both themes plus the orphaned `--color-scroll-caret`, and `hook.js`'s internal-module-range tracking with its `react-devtools-facade` stubs. `yarn.lock` is regenerated: 52 distinct package-versions and 68 requirement specs drop out, with no additions and no version changes to anything that remains. ## Deliberate non-changes - **`PROFILER_EXPORT_VERSION` stays at 5.** `prepareProfilingDataFrontendFromExport` compares versions with `!==`, so a bump would reject every profile anyone has already saved. `timelineData` was an optional key, so dropping it is invisible in both directions. - **Profiling flag bit `0b010` is retired, not reused**, and the constant is replaced by a comment saying so. Shipped backends keep setting it, so renumbering `PROFILING_FLAG_PERFORMANCE_TRACKS_SUPPORT` into that slot would make a new frontend misread older backends as tracks-capable. - **The `displayName` properties on DevTools' cache thenables are kept.** They look timeline-only, but `ReactFiberThenable` reads `thenable.displayName` to name I/O in async debug info, which feeds the Performance tracks. Only their stale comments are corrected. - **`react-reconciler`, `shared/ReactFeatureFlags.js` and `scripts/rollup` are untouched**; `enableSchedulingProfiler` is still live for www and native-fb. ## Follow-ups (not in this stack) Three stale comments still name the removed package: `scripts/rollup/wrappers.js:532` and `ReactFiberLane.js:38,125`. Left alone to keep this stack purely DevTools-side. ## Test plan `yarn linc`, `yarn flow dom-node`, and the DevTools suite all pass on this commit in isolation (40/40 suites, 582 tests).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )